//
// Created by host on 8/5/25.
//

#ifndef PLANNER_FIVE_POLY_INTERP_H
#define PLANNER_FIVE_POLY_INTERP_H

#include <Eigen/Core>
namespace ZORAL
{
    class PlannerFivePolyInterp
    {
    public:
        PlannerFivePolyInterp() = default;
        ~PlannerFivePolyInterp() = default;

        static Eigen::VectorXd planVector1D(const double &start_position, const double &start_velocity,
                                     const double &start_acceleration, const double &end_position,
                                     const double &end_velocity, const double &end_acceleration, const double &time);
        static Eigen::MatrixXd planVectorXD(const Eigen::VectorXd &start_position, const Eigen::VectorXd &start_velocity,
                                     const Eigen::VectorXd &start_acceleration, const Eigen::VectorXd &end_position,
                                     const Eigen::VectorXd &end_velocity, const Eigen::VectorXd &end_acceleration,
                                     const double &time);

    private:
    };
} // namespace ZORAL


#endif // PLANNER_FIVE_POLY_INTERP_H
